package com.smartleanx.module.hrm.controller.admin.employee.vo;

import com.smartleanx.module.infra.api.file.dto.FileRefRespDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "员工端 - 员工调动 Response VO")
@Data
public class EmployeeChangePostRespVO {

    @Schema(description = "员工id")
    private Long employeeId;

    @Schema(description = "员工姓名")
    private String name;

    @Schema(description = "员工编号")
    private String employeeNo;

    @Schema(description = "变动类型")
    private Integer changeType;

    @Schema(description = "异动原因")
    private Integer changeReason;

    @Schema(description = "原部门")
    private Long oldDeptId;

    @Schema(description = "新部门")
    private Long newDeptId;

    @Schema(description = "原岗位")
    private Long oldPostId;

    @Schema(description = "新岗位")
    private Long newPostId;

    @Schema(description = "旧职级")
    private Long oldPostLevel;

    @Schema(description = "新职级")
    private Long newPostLevel;

    @Schema(description = "原员工状态")
    private Integer oldEmployeeState;

    @Schema(description = "审核结果")
    private Integer approveResult;

    @Schema(description = "生效时间")
    private LocalDateTime effectTime;

    @Schema(description = "备注")
    private String remarks;

    @Schema(description = "申请文件id列表")
    private List<FileRefRespDTO> applyFileIdList;

    @Schema(description = "其他文件id列表")
    private List<FileRefRespDTO> otherFileIdList;

    @Schema(description = "提交时间")
    private LocalDateTime createTime;
}
